home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / asm-xtensa / pci.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  2.2 KB  |  83 lines

  1. /*
  2.  * linux/include/asm-xtensa/pci.h
  3.  *
  4.  * This file is subject to the terms and conditions of the GNU General Public
  5.  * License.  See the file "COPYING" in the main directory of this archive
  6.  * for more details.
  7.  *
  8.  * Copyright (C) 2001 - 2005 Tensilica Inc.
  9.  */
  10.  
  11. #ifndef _XTENSA_PCI_H
  12. #define _XTENSA_PCI_H
  13.  
  14. #ifdef __KERNEL__
  15.  
  16. /* Can be used to override the logic in pci_scan_bus for skipping
  17.  * already-configured bus numbers - to be used for buggy BIOSes
  18.  * or architectures with incomplete PCI setup by the loader
  19.  */
  20.  
  21. #define pcibios_assign_all_busses()    0
  22.  
  23. extern struct pci_controller* pcibios_alloc_controller(void);
  24.  
  25. static inline void pcibios_set_master(struct pci_dev *dev)
  26. {
  27.     /* No special bus mastering setup handling */
  28. }
  29.  
  30. static inline void pcibios_penalize_isa_irq(int irq)
  31. {
  32.     /* We don't do dynamic PCI IRQ allocation */
  33. }
  34.  
  35. /* Assume some values. (We should revise them, if necessary) */
  36.  
  37. #define PCIBIOS_MIN_IO        0x2000
  38. #define PCIBIOS_MIN_MEM        0x10000000
  39.  
  40. /* Dynamic DMA mapping stuff.
  41.  * Xtensa has everything mapped statically like x86.
  42.  */
  43.  
  44. #include <linux/types.h>
  45. #include <linux/slab.h>
  46. #include <asm/scatterlist.h>
  47. #include <linux/string.h>
  48. #include <asm/io.h>
  49.  
  50. struct pci_dev;
  51.  
  52. /* The PCI address space does equal the physical memory address space.
  53.  * The networking and block device layers use this boolean for bounce buffer
  54.  * decisions.
  55.  */
  56.  
  57. #define PCI_DMA_BUS_IS_PHYS    (1)
  58.  
  59. /* pci_unmap_{page,single} is a no-op, so */
  60. #define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)
  61. #define DECLARE_PCI_UNMAP_LEN(LEN_NAME)
  62. #define pci_unmap_addr(PTR, ADDR_NAME)        (0)
  63. #define pci_unmap_addr_set(PTR, ADDR_NAME, VAL)    do { } while (0)
  64. #define pci_ubnmap_len(PTR, LEN_NAME)        (0)
  65. #define pci_unmap_len_set(PTR, LEN_NAME, VAL)    do { } while (0)
  66.  
  67. /* Map a range of PCI memory or I/O space for a device into user space */
  68. int pci_mmap_page_range(struct pci_dev *pdev, struct vm_area_struct *vma,
  69.                         enum pci_mmap_state mmap_state, int write_combine);
  70.  
  71. /* Tell drivers/pci/proc.c that we have pci_mmap_page_range() */
  72. #define HAVE_PCI_MMAP    1
  73.  
  74. #endif /* __KERNEL__ */
  75.  
  76. /* Implement the pci_ DMA API in terms of the generic device dma_ one */
  77. #include <asm-generic/pci-dma-compat.h>
  78.  
  79. /* Generic PCI */
  80. #include <asm-generic/pci.h>
  81.  
  82. #endif    /* _XTENSA_PCI_H */
  83.